package com.xinjian.jianba.utils;

import java.util.ArrayList;
import java.util.List;

/**
 * 针对 LIST的一些常用 操作 变换.
 * @author:haitao.liu
 *
 */
public final class ListUtil {


    /**
     * 构造方法.
     * ListUtil.
     *
     */
    private ListUtil() {
    }


    /**
     * 分割List.
     * @param list 待分割的list
     * @param pageSize 每段list的大小
     * @return List<<List<T>>
     */
    public static <T> List<List<T>> splitList(List<T> list, int pageSize) {
        List<List<T>> listArray = new ArrayList<List<T>>();

        ArrayList<T> al = new ArrayList<T>();
        for (T x : list) {
            al.add(x);
            if (pageSize == al.size()) {
                listArray.add(al);
                al = new ArrayList<T>();
            }
        }

        if (0 != al.size()) {
            listArray.add(al);
        }

        return listArray;
    }

}
